<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>练习题</title>
</head>
<body>
<script>
    // 求和函数封装练习.  根据传入的两个数,求和并且返回求和的结果（函数必须有return返回值）
    function 求和(a, b) {
        return a + b
    }

    console.log(`2个数的和是: ${求和(3.3, 8)}`)

    // 实现两个数的值交换(函数版本)
    function 两个数的值交换(a, b) {
        let 临时存储 = a
        a = b
        b = 临时存储
        return [a, b]
    }

    console.log(`两个数的值交换以后: ${两个数的值交换('aaa', 8)}`)

    // 查询余额函数
    function 查询余额() {
        let 银行卡余额= +prompt('输入银行卡余额:')
        let 当月食宿消费金额= +prompt('输入当月食宿消费金额:')
        let 当月生活消费金额= +prompt('输入当月生活消费金额:')
        return 银行卡余额 - 当月食宿消费金额 - 当月生活消费金额
    }

    alert(`本月剩余银行卡余额是: ${查询余额()}`)

    // 封装一个函数,可以求任意数组的和 或 平均值
    // 函数可以传递2个参数，
    // 参数一： 接受实参传递过来的数组
    // 参数二: 布尔类型 如果是true或者不传递参数 是求和操作， 如果传递过来的参数是 false 则是求平均值
    function 数组_和或平均(数组, 布尔值 = true) { // 第2参数,默认true
        let 和 = 0
        let 平均值 = 0
        for (let i = 0; i < 数组.length; i++) {
            和 = 和 + 数组[i]
        }
        平均值 = 和 / (数组.length)
        // 根据第2个参数值,判断返回什么数
        if (布尔值) {
            return 和
        } else {
            return 平均值
        }
    }

    console.log(`数组的总和是: ${数组_和或平均([1, 2, 3, 4, 5])}`)
    console.log(`数组的平均值是: ${数组_和或平均([1, 2, 3, 4, 5], false)}`)
</script>
</body>
</html>